/**
 * 数字格式化显示
 * @param {Number|String} value - 原始值
 * @param {Number} decimals - 保留小数位数
 * @param {Boolean} autoFixed - 是否自动补零
 * @returns {String} 格式化后的字符串
 */
export function formatNumber(value, decimals = 2, autoFixed = false) {
  if (value === null || value === undefined) return '0'

  const num = Number(value)
  if (isNaN(num)) return '0'

  // 整数处理
  if (Number.isInteger(num)) {
    return num.toLocaleString()
  }

  // 小数处理
  const options = {
    minimumFractionDigits: autoFixed ? decimals : 0,
    maximumFractionDigits: decimals
  }
  return num.toLocaleString(undefined, options)
}

/**
 * 百分比格式化
 * @param {Number|String} value - 原始值 (0-1范围)
 * @param {Number} decimals - 保留小数位数
 * @returns {String} 百分比字符串
 */
export function formatPercent(value, decimals = 2) {
  const num = Number(value) * 100
  return formatNumber(num, decimals) + '%'
}
